 //事件总线，无非就是提供一个接手站，通过一个对象的方式，把事件传入，每个事件对应着一个数组，数组里面是一些事件触发后所需要运行事件处理函数
 //这样就可以把事件和处理函数相连接，对于这种单组件模式的开发，这个小东西就很灵性，我们接下来就是在写上接收函数，去除函数，和触发函数就完成了
 //总体来说就是先判断，这个函数里面对应的事件有没有事件处理函数的对象集合，添加的话就是没有先创建，有就直接向里面添加一个处理事件处理函数就可以了
 //去除函数，还是先判断这个事件有没有处理函数集合，有就从里面从里面删除传入参数的事件处理函数这一项，没有就直接返回，没有集合那就是一个都没有
 //再者就是触发接收，事件触发我们就拿到事件同时拿到里面的事件变化对象，然后就是简单的挨个运行里面的事件处理函数就完成； 
 //1.提供一个监听接口
 //2.提供取消事件监听的接口
 //3.触发事件的接口
 //4.触发事件后自动通知监听者
 //事件1，mianscroll,滚动条事件
 import Vue from "vue"
 const app = new Vue({});
 Vue.prototype.$Bus = app;
 export default app;
 //  const listeners = {};
 //  export default {

 //      //1.提供一个监听接口

 //      $on(eventName, handler) {
 //          if (!listeners[eventName]) {
 //              listeners[eventName] = new Set();
 //          }
 //          listeners[eventName].add(handler);
 //      },
 //      $off(eventName, handler) {
 //          if (!listeners[eventName]) {
 //              return;
 //          }
 //          listeners[eventName].delete(handler);
 //      },
 //      $emit(eventName, ...args) {
 //          for (const handler of listeners[eventName]) {
 //              handler(...args);
 //          }
 //      }

 //  }